package cn.qrx.gateway.session;

import io.netty.channel.Channel;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

/**
 * @author 屈燃希
 * @date 2025/10/2 10:35
 * @content 通用引用会话工厂接口
 * 该接口定义了创建和管理会话的基本方法，是工厂模式在会话管理中的应用
 */
public interface IGenericReferenceSessionFactory {

    /**
     * 打开一个新的会话
     * 该方法用于创建并初始化一个新的会话实例，通常用于后续的数据库操作或其他业务处理
     * 具体实现依赖于不同的持久层框架或自定义实现
     * @return 返回一个Future对象，其中包含Channel实例，Channel代表通信通道
     */
    Future<Channel> openSession() throws InterruptedException, ExecutionException;
}
